The present invention generally relates to data processing in the field of vocabulary management as applied to workflow management. The invention relates more specifically to translating queries from an external system for retrieving vocabulary data from a vocabulary development server.
Through economic growth, mergers and acquisitions, business enterprises are becoming ever larger. Further, large business enterprises in the field of high technology now offer ever larger numbers of products and services that derive from an increasingly large variety of technologies.
In this environment, managing the creation, use, and maintenance of product names and technology names is an acute problem. As an enterprise grows, maintaining consistent usage of names of products and services throughout the enterprise becomes even more challenging. When an enterprise derives its business opportunities from research and development into new technologies or improvements of existing technologies, maintaining consistent usage of technology designations is a challenge, especially when there is disagreement about the uses, advantages or benefits of a particular technology.
Large enterprises that own or operate complex Web sites or other network resources that contain product and technology information face a related problem. Specifically, ensuring consistent usage of product names and technology terms across a large, complicated Web site is problematic. A particular problem involves maintaining consistent use of terms when different parts or elements of the Web site are authored by different individuals or groups.
Yet another problem in this context pertains to retrieving product information and technology information. Visitors to the large enterprise Web site do not necessarily know the xe2x80x9cofficialxe2x80x9d name of a product or technology. As a result, new visitors tend to query the Web site for product information based on incorrect terms, imprecise terms, related terms, or names that are unofficial. When a visitor searches using the wrong product name, the visitor is unable to retrieve the desired product information, and the visitor may become frustrated. However, this is undesirable from a promotional standpoint; the customer should be able to issue a xe2x80x9cwrongxe2x80x9d query and yet still retrieve the correct information.
Based on the foregoing, there is a clear need for improved ways to manage one or more vocabularies of product names and technology terms. In particular, there is a need for a way to structure name information so that it can be located and navigated easily. There is also a need for a way to share and propagate changes to name and terminology information.
There is a specific need for a clear and consistent way to develop new product brands and names that promotes consistency in terminology, style and presentation.
There is a need for a way to deliver information that is relevant to a user query in response to non-standard or alternative terms.
There is also a need for a simple, automated, unified and consistent way to manage usage of product names and technology terms in business documents and online resources such as Web sites.
There is also a need for a workflow management system that can control processes through which new product names are created, control the format and style of the names, and manage development of names and technology designations by individuals who are distributed among many groups of a large enterprise.
There is also need for a system that is extensible or adaptable when new products and technologies are developed by diverse, distributed groups in a large business enterprise.
The foregoing needs, and other needs and objects that will become apparent from the following description, are achieved in the present invention, which comprises, in one aspect, a method of translating queries for related concepts in a database of concepts and relationships among concepts. The database is local to a concept server. A query originates from a concept client. The method includes translating the query for related concepts into a markup language in a first document at a concept client. The first document is sent to a concept server over a network, and a second document in the markup language is received over the network from the concept server. The second document includes results based on responses from the concept server. The markup language in the second document is translated into values of the related concepts at the concept client.
In another aspect, the present invention includes a method of translating queries for related concepts in a database of concepts and relationships among concepts. The database is local to a concept server. A query originates from a concept client. The method includes receiving at a concept server process over a network a first document from a concept client. The first document includes the query for related concepts that has been translated into a markup language. A set of one or more operations performed by the concept server process is determined based on the first document. The set of operations are invoked. A second document in the markup language is generated and stored. The second document includes results based on responses from the operations that are invoked. The second document is sent to the concept client over the network for translation into values of the related concepts at the concept client.
In another aspect, the present invention includes a method of obtaining related concepts in a database of concepts and relationships local to a concept server at a remote concept client. The method includes generating and storing a first document at the remote concept client that aggregates multiple requests for related concepts in the database. The first document is sent to a concept server over a network. A second document is received from the concept server over the network. The second document includes results based on responses from the concept server. Values of related concepts are extracted from the second document.
In another aspect, the present invention includes a method of providing related concepts in a database of concepts and relationships local to a concept server process to a remote concept client process. The method includes receiving at a concept server from a remote concept client over a network a first document. The first document includes multiple requests for related concepts in the database. A set of operations performed by the concept server is determined based on the first document. The set of operations are invoked. A second document is generated and stored. The second document aggregates results based on responses from the operations invoked. The second document is sent to the remote concept client over the network for retrieving values of the related concepts at the remote concept client.
In another aspect, the present invention includes a method of translating a query for concepts in a business vocabulary database of concepts and relationships among concepts.
The method includes receiving at a client site on a network, from a provider of the business vocabulary database, a client-side adapter library of methods. The client-side library includes a method for translating a query for related concepts in the database into one or more elements of a first document. The client-side library also includes a method for extracting a set of values of the related concepts from one or more elements of a second document. A concept client process for the client site is developed based in part on the client-side adapter library. The concept client process generates a first query uses a first set of values of related concepts. The concept client process is executed to translate a particular first query into a particular first document, to send the first document to a concept server process, and to extract a particular set of values of related concepts from a particular second document. The particular second document includes results returned from the concept server process.
In another aspect, the present invention includes a method of translating a query for concepts in a business vocabulary database of concepts and relationships among concepts. The method includes generating a client-side adapter library of methods and sending the client-side library from a provider of the business vocabulary database to a client site on a network. The client-side library includes a method for translating a query for related concepts in the database into one or more elements of a first document. The client-side library also includes a method for extracting a set of values of the related concepts from one or more elements of a second document. A concept server process is developed based on a server-side adapter library of methods. The server-side library includes a method for determining a set of operations performed by a database server based on the first document. The server-side library also includes a method for generating and storing a second document that aggregates results from the set of operations as one or more elements. The methods of the client-side adapter library may extract values from the second document. The concept server process is executed to receive a particular first document from a particular concept client process, to determine a particular set of operations based on the particular first document, to cause the database server to perform the particular set of operations, to generate and store a particular second document including results based on responses from the set of operations, and to send the particular second document to the particular client process.
In other aspects, the invention encompasses computer readable media, and systems configured to carry out the foregoing steps.
These techniques allow remote and external applications to efficiently query for business vocabulary terms related by one or more relationships without requiring a knowledge of the organization of the persistent storage for the vocabulary database or the form of the markup language used in documents sent over the network between the concept server and the concept client. With these techniques, retrievals of related concepts, which involve complex transactions between a calling routine and the database, can be performed largely at the concept server, sparing the network much message traffic. Furthermore, by providing for a client-side adapter library, the developer of the concept client is spared the details of translating between the markup language used in the first and second documents and the queries and resulting values used by the client.